#include <bits/stdc++.h>
using namespace std;

struct patient{
  string name;
  int s,age;
};

bool cmp1(patient a,patient b){
  bool ao=a.age>=60;
  bool bo=b.age>=60;
  if(ao&&bo){
    if(a.age==b.age)return a.s<b.s;
    return a.age>b.age;
  } else if (ao) {
    return true;
  } else if (bo) {
    return false;
  } else {
    return a.s < b.s;
  }
}

int main(){
  int n;
  cin>>n;
  vector<patient> p(n);
  for(int i=0;i<n;i++){
    cin>>p[i].name>>p[i].age;
    p[i].s=i;
  }
  sort(p.begin(),p.end(),cmp1);
  for(int i=0;i<n;i++){
    cout<<p[i].name<<endl;
  }

  return 0;
}


//题目：病人排队
//
//描述：
//题目描述
//病人登记看病。请按如下规则对病人进行排队。
//1.老年人(年龄≥60岁)按年龄大小优先看病；年龄相同的老人按登记顺序进行排队。
//2.其他人按登记的先后顺序排队看病。
//
//输入格式
//第一行，一个整数n，表示病人数。n<1000
//接下来n行，每行2个信息，分别表示病人姓名（字符串，不含空格）和年龄(整数)。每个信息之间空格分隔。
//
//输出格式
//n行，每行1个信息，病人姓名。
//
//输入样例
//5
//zhangsan 40
//lisi 15
//wangwu 67
//zhaoliu 76
//tianqi 67
//输出样例
//zhaoliu
//wangwu
//tianqi
//zhangsan
//lisi